package com.yj_app.qualitytest.activity.sccjcx;

import android.app.DatePickerDialog;
import android.os.Bundle;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.DatePicker;
import android.widget.Spinner;
import android.widget.TextView;

import androidx.appcompat.widget.AppCompatSpinner;
import androidx.recyclerview.widget.RecyclerView;

import com.yj_app.qualitytest.R;
import com.yj_app.qualitytest.activity.sccjcx.contract.SccjCxContract;
import com.yj_app.qualitytest.activity.sccjcx.presenter.SccjCxPresenter;
import com.yj_app.qualitytest.base.BaseActivity;
import com.yj_app.qualitytest.base.BaseMvpActivity;
import com.yj_app.qualitytest.info.TeamInfo;
import com.yj_app.qualitytest.info.WorkSpaceInfo;
import com.yj_app.qualitytest.util.DateUtils;

import org.litepal.LitePal;

import java.util.Calendar;
import java.util.List;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;

/**
 * ━━━━━━神兽出没━━━━━━
 * 　　 ┏┓　  ┏┓
 * 　　┏┛┻━━━━┛┻┓
 * 　　┃　　　　　　　┃
 * 　　┃　　　━　　　┃
 * 　　┃　┳┛　┗┳　┃
 * 　　┃　　　　　　　┃
 * 　　┃　　┻　　　┃
 * 　　┃　　　　　　　┃
 * 　　┗━┓　　　┏━┛
 * 　　　　┃　　　┃
 * 　　　　┃　　　┃
 * 　　　　┃　　　┗━━━┓
 * 　　　　┃　　　　　　　┣┓
 * 　　　　┃　　　　　　　┏┛
 * 　　　　┗┓┓┏━┳┓┏┛
 * 　　　　　┃┫┫　┃┫┫
 * 　　　　　┗┻┛　┗┻┛
 * ━━━━━━代码无bug━━━━━━
 * <p>
 * Copyright (C), 2015-2019-10-29, 石家庄云捷软件科技有限公司
 *
 * @ProjectName: SccjCxActivity.java
 * @Package: com.yj_app.qualitytest.activity.sccjcx
 * @ClassName: SccjCxActivity
 * @Description: TODO
 * @Author: Hu_Sir
 * @CreateDate: 2019-10-29 - 16:56
 * @UpdateUser: ?
 * @UpdateDate: 2019-10-29 - 16:56
 * @UpdateRemark: todo
 */
public class SccjCxActivity extends BaseMvpActivity<SccjCxContract.Presenter,SccjCxContract.View> implements SccjCxContract.View {

    @BindView(R.id.spinner_workshop)
    AppCompatSpinner spinnerWorkshop;

    @BindView(R.id.spinner_team)
    Spinner spinnerTeam;

    @BindView(R.id.txt_starttime)
    TextView txtStarttime;
    @BindView(R.id.v_spinner)
    Spinner sspinnerStarttime;
    @BindView(R.id.my_recy)
    RecyclerView myRecy;
    @BindView(R.id.btn_search)
    Button btnSearch;
    Calendar calendar;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_sccj_cx);
        ButterKnife.bind(this);
        initView();
        initWorkspaceAdapter();
        initTeamadapter();


    }

    @Override
    public SccjCxContract.Presenter initPresenter() {
        return new SccjCxPresenter();
    }

    private void initTeamadapter() {
        List<TeamInfo> teamInfoList = LitePal.order("id").find(TeamInfo.class);
        ArrayAdapter<TeamInfo> teamInfoArrayAdapter = new ArrayAdapter<TeamInfo>(this, R.layout.simple_list_item_1, teamInfoList);
        spinnerTeam.setAdapter(teamInfoArrayAdapter);

    }

    private void initWorkspaceAdapter() {
        List<WorkSpaceInfo> workSpaceInfos = LitePal.findAll(WorkSpaceInfo.class);
        workSpaceInfos.add(0, new WorkSpaceInfo("", "所有车间"));
        ArrayAdapter arrayAdapter = new ArrayAdapter(this, R.layout.simple_list_item_1, workSpaceInfos);
        spinnerWorkshop.setAdapter(arrayAdapter);


    }

    private void initView() {
        setTitleWithBack("质量管理列表");
        calendar = Calendar.getInstance();
        txtStarttime.setText(DateUtils.convertToString(System.currentTimeMillis(), DateUtils.DATE_FORMAT));

    }


    @OnClick({R.id.txt_starttime, R.id.btn_search})
    public void onViewClicked(View view) {
        switch (view.getId()) {
            case R.id.txt_starttime:
                showTimeDialog();
                break;
            case R.id.btn_search:
                if (spinnerWorkshop.getSelectedItemPosition()==0){
                    toastError("请选择车间后再进行查询");
                    return;
                }
                presenter.search((WorkSpaceInfo)spinnerWorkshop.getSelectedItem(),(TeamInfo)spinnerTeam.getSelectedItem(),txtStarttime.getText().toString(),sspinnerStarttime.getSelectedItem().toString());
                break;
        }
    }

    private void showTimeDialog() {
        // 直接创建一个DatePickerDialog对话框实例，并将它显示出来
        new DatePickerDialog(this, new DatePickerDialog.OnDateSetListener() {
            // 绑定监听器(How the parent is notified that the date is set.)
            @Override
            public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
                // 此处得到选择的时间，可以进行你想要的操作
                txtStarttime.setText(year + "-" + (monthOfYear + 1) + "-" + dayOfMonth);
                calendar.set(year,monthOfYear,dayOfMonth);
            }
        }
                // 设置初始日期
                , calendar.get(Calendar.YEAR)
                , calendar.get(Calendar.MONTH)
                , calendar.get(Calendar.DAY_OF_MONTH)).show();

    }
}
